package com.lnking.lnkingplace.service;

import com.lnking.lnkingplace.model.dto.user.UserDetailDto;
import com.lnking.lnkingplace.model.dto.user.UserDto;
import com.lnking.lnkingplace.model.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lnking.lnkingplace.model.request.user.UpdatePasswordRequest;
import com.lnking.lnkingplace.model.request.user.UserAddRequest;
import com.lnking.lnkingplace.model.request.user.UserSearchRequest;
import com.lnking.starter.mybatis.service.ICustomService;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zxq
 * @since 2022-08-18
 */
public interface IUserService extends ICustomService<User> {

    /**
     * 通过用户登录名获取用户信息
     * @param username 用户登录名
     * @return 用户信息
     */
    User getUserByName(String username);

    /**
     * 通过人员ID获取人员详情
     * @param id
     * @return
     */
    UserDetailDto getUserDetailById(String id);

    void add(UserAddRequest params) throws Exception;

    void delById(String id) throws Exception;


    Object getPageList(UserSearchRequest params);

    void updatePwd(UpdatePasswordRequest params);

    List<User> personList(String name);

    List<User> findByIdCard(String idCardNo);

    void importExcel(MultipartFile file)  throws Exception ;

    void findPhone(String phone);
}
